# -*- coding: utf-8 -*-            
# @Time : 2022/11/29 21:55
# @Author  : lining
# @FileName: 选择排序.py
"""
从剩余元素中取出最小的，放到已排序区末尾（和已排序区末尾的后一个元素交换位置），空间复杂度O(1)，原地排序 时间复杂度O(n*n)  不稳定
"""
class SelectionSort():
    def Selectionsort(self, data):
        len_data = len(data)
        for i in range(len_data):
            min_num = data[i]
            num = i
            for x in range(i+1, len_data):
                if data[x] < min_num:
                    num = x
                    min_num = data[x]
            data[i], data[num] = data[num], data[i]
        print(data)


a = [6,5,4,3,2,1]
SelectionSort().Selectionsort(a)
